﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using SharpGen.Common;
using Plugin;

namespace SharpGen.TemplateInterface
{
    public interface ICodeGenTemplate : IPlugin<ICodeGenTemplate, ICodeGenHost>
    {
        ICodeGenHost Host { get; }
        string Name { get; }
        string Description { get; }
        string Author { get; }
        string Version { get; }

        void Initialize(ICodeGenHost host);
        void Dispose();

        void OnSqlObject(SharpCodeProvider provider, SqlObject sqlObject, bool classGeneration);
    }
}
